1. The Field of the Invention
The present invention relates to methods and systems for efficiently sending event notification to a device over a computer network. More specifically, the present invention relates to methods and systems for computing devices included in an Internet Protocol network to monitor for the occurrence of events on the Internet Protocol network and send a notification, using the User Datagram Protocol, to other devices on the Internet Protocol network when an event occurs.
2. The Prior State of the Art
The popularity of the Internet has profoundly improved the way people communicate by allowing users quick and easy access to information. By accessing the World Wide Web and electronic mail through computers and other devices, people now stay in touch with each other around the globe, and can access information on a virtually limitless variety of subjects.
In addition to communication between individuals, the Internet allows individuals (or devices) to be notified when an event occurs. A remote computer system will typically monitor for the event and automatically send a notification message to the user when the event occurs. This allows users to be aware of numerous important events that the user would not otherwise be aware of. Traditional methods of notifying a user were developed using the Transmission Control Protocol (“TCP’), a well-known protocol already in use on the Internet.
TCP has certain advantages that make it useful for some forms of communication on the Internet. For example, TCP is connection-oriented, meaning it uses algorithms that pass connection data between devices to verify a connection to a device before it sends information. TCP also keeps track of state information, meaning it sends monitoring parameters across connections as data transfers from one device to another to verify the connection is still operating properly. TCP also uses sequencing algorithms which guarantee data is received in the same order data was sent. As a result of TCP's built in features, TCP is also capable of establishing secure connections between devices on the Internet. Indeed, the features of TCP make it well suited for sending substantial amounts of information or for guaranteeing secure transmission.
However, there are certain disadvantages of using TCP. First, since TCP is a connection-oriented protocol, it must establish a connection to a device before any data can transfer across the wire. Then TCP must tear the connection down once the data is transferred. This includes the overhead associated with the algorithms that send connection data used to verify a reliable connection.
Second, since TCP maintains state information on established connections during data transfer operations, unneeded data crosses the wire thereby congesting Internet use. This is a result of not only sending packets across the wire, but sending the extra data associated with the state information algorithms that are a part of TCP.
Third, there is additional processing and bandwidth demand associated with maintaining the proper ordering of data packets in a single message. This may also place a strain on the bandwidth of the Internet, as well as on the processing capabilities of the client and server involved in the notification.
The disadvantages of TCP apply to the sending of event notifications as well as for other types of data transfer over the Internet. Therefore, what are desired are methods and systems for sending event notifications that are more efficient then those methods currently employed using TCP.
In addition to the above-described problems of the inefficiency of TCP for use in event notification are the inefficiencies associated with the event notification programs employing TCP. Current notification methods attempt notification of a device for each occurrence of the event. For instance, if an event occurs five times, notification will take place five times. However, depending on the type of event, repeatedly notifying the user of the event may often waste network bandwidth if the notifications are redundant.
Another drawback of current TCP methods is the establishment of a separate TCP connection to send notification of a singular event to multiple applications running on the same device. For instance if application 1 and application 2 are to be notified when event X occurs, current methods establish a TCP connection to notify application 1 of event X and a separate TCP connection to notify application 2 of event X. However, since application 1 and application 2 are running on the same device, multiple notifications may be redundant.
It is important with the ever increasing number of users sending data across the Internet that event notification on the Internet is done as efficiently as possible. Accordingly, methods and systems are desired for sending event notification, which reduce Internet congestion and computer processing time.